//example   '(){}[]' true    '()[]{}}' false

let str1 = '(){}[]'
let str2 = '()[]{}}'

function isclose(str) {
    let flag = true;
    let arr = str.split('')
    let newstr = []
    //console.log(arr)
    arr.forEach(item => {
        if (item == "{" || item == '(' || item == "[") {
            newstr.push(item)
        } else {
            if (item == '}') {
                if (newstr.indexOf('{') == -1) {
                    flag = false
                } else {
                    newstr.splice(1, newstr.indexOf('{'))
                }
            }
            if (item == ')') {
                if (newstr.indexOf('(') == -1) {
                    flag = false
                } else {
                    newstr.splice(1, newstr.indexOf('('))
                }
            }
            if (item == ']') {
                if (newstr.indexOf('[') == -1) {
                    flag = false
                } else {
                    newstr.splice(1, newstr.indexOf('['))
                }
            }
        }
    })
    //console.log(newstr)
    return flag
}
console.log(isclose(str1))
console.log(isclose(str2))